Data transmission and data decoding may employ error detection and correction.
The detection and correction of errors that occur to transmitted data is a major issue in communications systems, both for wireless and fixed wire systems. In order to overcome the loss of data or the corruption of data due to errors that occur during the transmission, different types of error detection codes have been introduced that allow for the data to be encoded before transmission and once received for any detected errors to be corrected and the correct data recovered. Such error detection codes are convolutional codes, cyclic codes, block codes to name but a few.
Not all of the different types of these codes have the same error detecting and error correcting capabilities. Some have weaker error detection capabilities than others, which means that a careful choice has to be done before using a particular code.
In A. J. McAuley's “Weighted Sum Codes for Error Detection and their Comparison with Existing Codes”, IEEE/ACM Transactions on Networking, vol. 2, No. 1, February 1994, pp 16-22, a new family of error detection codes, Weighted Sum Codes, is described which has very strong error detection capabilities over existing codes.
In P. Farka{hacek over (s)} “Comments on Weighted Sum Codes for error detection and their comparison with existing codes”, IEEE/ACM Transactions on Networking, vol. 3, no. 2, 1995, pp 222-223 and in P. Farka{hacek over (s)} et al., “Modified Generalised Weighted Sum Codes for error control” chapter in the textbook “Coding Communications and Broadcasting”, pp. 62-72, Research Studies Press Ltd., England, February 2000, further research and analysis of the advantages of this family of codes in detecting and correcting errors was performed.
Furthermore, problems also occur due to corruption when data is being transmitted over an air-interface, in the case of a wireless communications system, or e.g. in a fibre optic cable, in the case of a terrestrial communications system. The encoded data that is generated by the different error control codes does not easily match the fixed structure of the transporting units, like for example an ATM (Asynchronous Transfer Mode) cell or an IP (Internet Protocol) packet or a frame, and as the generated encoded data has to be shortened, this can cause further difficulties in detecting and correcting the data when errors occur. When errors occur systems have to waste bandwidth resources in retransmitting the erroneous data.
One of the ways that this problem was solved, was by selecting a code whose parameters directly fulfill the predefined constraints of the transport block.
Another approach, was to select a code with a longer codeword (n) and a higher number of information symbols (k) in a codeword and then shortening that code. Shortening is performed by not using a selected number of information symbols.
However both have the drawback that the selected codes do not always have an optimal error detection/correction capability.